//
//  FloatyDelegate.swift
//
//  Created by Nathan Russak on 2/23/16.
//  Copyright © 2016 Nathan Russak. All rights reserved.
//

import Foundation

/**
 Optional delegate that can be used to be notified whenever the user
 taps on a FAB that does not contain any sub items.
 */
@objc public protocol FloatyDelegate {
  /**
   Indicates that the user has tapped on a FAB widget that does not
   contain any defined sub items.
   - parameter floaty: The FAB widget that was selected by the user.
   */
  @objc optional func emptyFloatySelected(_ floaty: Floaty)

  @objc optional func floatyShouldOpen(_ floaty: Floaty) -> Bool
  
  @objc optional func floatyWillOpen(_ floaty: Floaty)
  
  @objc optional func floatyDidOpen(_ floaty: Floaty)

  @objc optional func floatyShouldClose(_ floaty: Floaty) -> Bool
  
  @objc optional func floatyWillClose(_ floaty: Floaty)
  
  @objc optional func floatyDidClose(_ floaty: Floaty)

  @objc optional func shallWorkHorizontal() -> Bool

  /**
   This method has been deprecated. Use floatyWillOpen and floatyDidOpen instead.
   */
  @objc optional func floatyOpened(_ floaty: Floaty)
  
  /**
   This method has been deprecated. Use floatyWillClose and floatyDidClose instead.
   */
  @objc optional func floatyClosed(_ floaty: Floaty)
}
